Jetson nano 多路实时目标检测 yolov5 TensorRT

您所在的位置:网站首页 demo 测试 Jetson nano 多路实时目标检测 yolov5 TensorRT

Jetson nano 多路实时目标检测 yolov5 TensorRT

2023-08-15 15:56| 来源: 网络整理| 查看: 265

Jetson nano 多路实时目标检测 yolov5 TensorRT 导读

首先请参考 jetson nano 运行yolov5 配置好测试环境,在此基础之上,我们通过修改配置文件来测试多路视频的实时目标检测,经过简单的优化,我们可以在jetson nano上实现4路1080P或者更多路输入下的实时目标检测。

在不改变yolov5网络结构的前提下,我们需要针对输入的视频大小有针对性的调整模型的batch-size,以及推理的interval来快速达到想要的效果。

首先,尝试一下4路1080P输入

这里我们先将输入的视频修改为4路1080P,并将streammux以及yolov5模型的batch-size修改为4(streammux是deepstream的插件,用来把多个并行解码流合并成一个batch传给下一个组件)

修改Deepstream-Yolo文件夹下的deepstream_app_config.txt,参考如下: [tiled-display] #这里修改rows和columns都为2,显示的时候4路视频就会显示成2行2列 rows=2 columns=2 #... [source0] #... num-sources=4 # 修改视频输入为4路 #... [streammux] #... batch-size=4 # 修改streammux的batch-size为4 #... 修改Deepstream-Yolo文件夹下的config_infer_primary_yoloV5.txt, 参考如下: [property] #... custom-network-config=yolov5n.cfg model-file=yolov5n.wts model-engine-file=model_b4_gpu0_fp16.engine #修改保存模型的名称 batch-size=4 # batch-size修改为4 network-mode=2 # 模型类型修改为fp16 测试效果,继续优化

运行

deepstream-app -c deepstream_app_config.txt

在这里插入图片描述

可以看到,FPS只有不到10,因此还需要进一步优化,我们知道在大多数的业务场景中,我们其实不需要对视频的每一帧都做处理,由于视频的运动连贯性,我们可以间隔几帧做一次推理,这样可以显著的提高系统整体的吞吐率。

同样,修改config_infer_primary_yoloV5.txt中的interval参数,将其修改为3,也就是每间隔三帧做一次推理

[property] #... interval=3 #修改为3 #...

在这里插入图片描述

再运行程序测试,我们发现FPS已经显著提高了,可以达到实时的效果。同理,针对更多的视频流(本地/实时流),我们在不修改模型的基础上通过改变上述几个参数,可以有效的提高系统整体的FPS,在实际的场景中完成我们的业务。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3